/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.muni.fi.j002.requirementengineeringmuni;

import cz.muni.fi.j002.requirementengineeringmuni.exceptions.BankException;
import java.math.BigDecimal;

/**
 *
 * @author stefan
 */
public interface Bank {
    
    BigDecimal getAccountState();
    
    /**
     * 
     * @param amount
     * @throws BankException if the amount is a negative value
     */
    void increaseAccountState(BigDecimal amount) throws BankException;
    
    /**
     * 
     * @param amount
     * @throws BankException if the amount is higher than the current account state or if the amount is a negative value
     */
    void decreaseAccoungState(BigDecimal amount) throws BankException;
}
